Balancing device

ABSTRACT

A balancing device includes an active balancing mechanism. The active balancing mechanism maintains the balancing device in an actively balanced state within a range of the active balancing mechanism. An auxiliary balancing mechanism is configured to support the balancing device in an unbalanced state that is outside the range of the active balancing mechanism and aid a transition of the balancing device to the actively balanced state that is within the range of the active balancing mechanism. A processor is configured to actively control the transition from the unbalanced state to the actively balanced state.

CROSS REFERENCE TO OTHER APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 60/678,456, entitled BALANCING ROBOT filed May 5, 2005, which isincorporated herein by reference for all purposes.

BACKGROUND OF THE INVENTION

Various balancing robots or devices have been developed. Such devicesrely on some type of active balancing mechanism that operates toeffectively balance a device within an active balancing range. However,it is possible under some circumstances for the device to be outside thebalancing range, for example when the device has somehow fallen over orwhen it is first activated. It would be useful if techniques could bedeveloped to balance a device that is outside of the balancing range.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be readily understood by the followingdetailed description in conjunction with the accompanying drawings, andin which:

FIG. 1 is a block diagram illustrating how a processor is used in oneembodiment to control the active balancing mechanism and the auxiliarybalancing mechanism during the transition between the actively balancedstate and the unbalanced state.

FIG. 2 is a sketch illustrating one embodiment of the balancing device.

FIG. 3A is a flowchart illustrating a process used in one embodiment fortransition from the actively balanced state to the unbalanced state.

FIG. 3B shows a sequence of the movements by the balancing device in theprocess described by FIG. 3A.

FIG. 4A is a flowchart illustrating a process used in one embodiment fortransition from the unbalanced state to the actively balanced state.

FIG. 4B shows a sequence of the movements by the balancing device in theprocess described by FIG. 4A.

FIG. 5A is a flowchart illustrating a process used in one embodiment bythe control mechanism to determine the torque applied to the activebalancing mechanism for aiding the transition.

FIG. 5B is a flowchart illustrating a process used in one embodiment bythe control mechanism to determine the torque applied to the auxiliarybalancing mechanism for deploying and stowing the auxiliary balancingmechanism at a constant velocity.

FIG. 5C is a flowchart illustrating a process used in one embodiment bythe control mechanism to determine the torque applied to the wheels foractively balancing the device and achieving zero wheel velocity whendeploying and stowing the auxiliary balancing mechanism.

FIGS. 6A and 6B show another embodiment of the balancing device whereinone mechanism serves as both the auxiliary balancing mechanism and theactive balancing mechanism.

FIGS. 7A and 7B show another embodiment of the balancing device with adifferent auxiliary balancing mechanism.

FIGS. 8A and 8B show another embodiment of the balancing device whereinthe auxiliary balancing mechanism is part of the device body.

FIGS. 9A and 9B show another embodiment of the balancing device whereinthe mechanical arm in FIG. 7 has a variable length.

FIGS. 10A and 10B show another embodiment of the balancing devicewherein the auxiliary balancing mechanism in FIG. 8 has a variablelength.

FIGS. 11A and 11B show another embodiment of the balancing devicewherein the auxiliary balancing mechanism in FIG. 9 has a variablelength.

DETAILED DESCRIPTION

The invention can be implemented in numerous ways, including as aprocess, an apparatus, a system, a composition of matter, a computerreadable medium such as a computer readable storage medium or a computernetwork wherein program instructions are sent over optical or electroniccommunication links. In this specification, these implementations, orany other form that the invention may take, may be referred to astechniques. A component such as a processor or a memory described asbeing configured to perform a task includes both a general componentthat is temporarily configured to perform the task at a given time or aspecific component that is manufactured to perform the task. In general,the order of the steps of disclosed processes may be altered within thescope of the invention.

A detailed description of one or more embodiments of the invention isprovided below along with accompanying figures that illustrate theprinciples of the invention. The invention is described in connectionwith such embodiments, but the invention is not limited to anyembodiment. The scope of the invention is limited only by the claims andthe invention encompasses numerous alternatives, modifications andequivalents. Numerous specific details are set forth in the followingdescription in order to provide a thorough understanding of theinvention. These details are provided for the purpose of example and theinvention may be practiced according to the claims without some or allof these specific details. For the purpose of clarity, technicalmaterial that is known in the technical fields related to the inventionhas not been described in detail so that the invention is notunnecessarily obscured.

In various embodiments described herein, a balancing device is either inan actively balanced state or in an unbalanced state. The deviceincludes an active balancing mechanism (ACBM), an auxiliary balancingmechanism (AUBM), and a processor that controls a transition between theactively balanced state and the unbalanced state. The device is in theactively balanced state when it is inside a range of the activebalancing mechanism. The auxiliary balancing mechanism is deployed toaid the transition between the actively balanced state and theunbalanced state, and is stowed after the transition is complete. Thedevice includes a processor for controlling the active balancingmechanism and the auxiliary balancing mechanism in such a manner as toachieve a successful and smooth transition between the two states. Inone embodiment, the balancing device is a robot, while the activebalancing system comprises a pair of lateral wheels driven by a motorand the auxiliary balancing system comprises a lifting arm. In anotherembodiment, the device is a toy doll, while the active balancing systemcomprises a pair of weighted arms and the auxiliary balancing systemcomprises a spring.

FIG. 1 is a block diagram illustrating how a processor is used in oneembodiment to control the active balancing mechanism and the auxiliarybalancing mechanism during the transition between the actively balancedstate and the unbalanced state. A processor 100 receives measurementsindicating the balancing state of the device from the measuring unit104. In this embodiment measuring unit 104 measures the tilt angle ofthe device with a tilt sensor. The angle of the device is used todetermine the deviation of its current state from the actively balancedstate, because the actively balanced state is the vertical position. Invarious embodiments, measuring unit 104 also measures the angular rateof the device body. Both the tilt angle and the optional angular ratemeasurements are used by processor 100 for determining the controlsignal to send to the active balancing mechanism. In this embodiment,the active balancing mechanism comprises a pair of lateral wheels drivenby a motor. Processor 100 determines the torque the motor needs to applyto the wheels during transition, and sends it to a main motor driver101.

Measuring unit 103 measures the position of the auxiliary balancingmechanism, which is either being deployed or being stowed during abalancing state transition. In this embodiment, the auxiliary balancingmechanism comprises a lifting arm driven by a lift motor. The measuredposition of the lifting arm is used by processor 100 for determining thetorque the lift motor needs to apply to the lifting arm duringtransition, and sends it to a lift motor driver 102.

FIG. 2 is a diagram illustrating one embodiment of the balancing device.The active balancing mechanism comprises a pair of lateral wheels 200,which is driven by a main motor 201. The auxiliary balancing mechanismcomprises a lifting arm 202, which is driven by a lifting motor 203. Thedevice body comprises half circular shaped plates 204 supported byvertical columns. Plates 204 are shaped so as to cause the device toroll into a supine position which could be supported by lifting arm 202when unbalanced, regardless of its initial unbalanced position, supine,prone, or sideways.

FIG. 3A is a flowchart illustrating a process used in one embodiment fortransition from the actively balanced state to the unbalanced state. Thedevice starts at the actively balanced state 301, with the auxiliarybalancing mechanism (AUBM) stowed. Once it is determined that the deviceis to move into the unbalanced state, the transition initiates. In astep 302, the AUBM is deployed. In this embodiment, the AUBM is deployedand stowed at a constant velocity. In various embodiments, other schemessuch as ejection mechanisms and springy mechanisms are implemented toinstantly deploy and stow the AUBM. The active balancing mechanism(ACBM) keeps the device actively balanced during the deployment. Next,in a step 303, when the device senses that the AUBM deployment iscompleted, it applies a torque to the ACBM for kicking the devicetowards the unbalanced state. Next, in a step 304, the device is caughtand supported by the AUBM. In a step 305, the AUBM is stowed in aconstant velocity and the device approaches the unbalanced state. Thedevice reaches the unbalanced state at 306, with the AUBM in stowage,thus having completed the transition.

FIG. 3B shows a sequence of the positions of the balancing device duringthe process described by FIG. 3A. At position 307 the AUBM comprising alifting arm 313 is stowed and the ACBM comprising a pair of lateralwheels 314 actively balances the device. The device reaches anequilibrium angle Θ 315 when its center of gravity is right above theline connecting the two contact points between the two wheels and asupporting surface. For a perfectly symmetrical device and a perfectlyhorizontal supporting surface, Θ 315 should be zero, or the deviceshould be vertical. In this embodiment, Θ 315 is determined when thedevice requires the least amount of manual support with the ACBMinitially off. Θ 315 is in turn programmed into the device so the ACBMwill always balance the device around this angle.

During the AUBM deployment at position 308, a torque 316 is applied tothe lifting arm 313 by a lift motor to achieve constant deployingvelocity. Torque 316 is determined by a closed loop control mechanismwith a processor as described in FIG. 1. In this embodiment, theclosed-loop control mechanism uses proportional, derivative, andintegral (PID) control; and torque 316 is given by the followingequation:AUBM Torque=(V _(p) ·K _(p))+(V _(d) ·K _(d))+(∫V _(p) ·K _(i))

wherein V_(p) is the difference between the instant AUBM deployingvelocity and the desired AUBM deploying velocity; V_(d) is thederivative of V_(p); ∫V_(p) is the integral of V_(p); K_(p), K_(d) andK_(i) are PID constants.

In this embodiment, the control mechanism is implemented in discreetconstant time intervals. V_(d) is determined by the difference betweenthe current V_(p) and the V_(p) measured at the previous time step:V _(d)(t)=V _(p)(t)−V _(p)(t−1)

During the AUBM deployment, the ACBM keeps the device actively balanced.Due to the change of the device's weight distribution, the equilibriumangle has to be adjusted by an offset ΔΘ 317 to maintain zero wheelvelocity. ΔΘ 317 is determined by a closed loop control mechanism with aprocessor as described in FIG. 1. In this embodiment, the closed-loopcontrol mechanism uses PID control in discreet constant time intervals;and ΔΘ 317 is given by the following equation:ΔΘ=(WV _(p) ·WK _(p))+(WV _(d) ·WK _(d))+(∫WV _(p) ·WK _(i))

wherein WV_(p) is the instant wheel velocity; WV_(d) is the derivativeof WV_(p); ∫WV_(p) is the integral of WV_(p); WK_(p), WK_(d) and WK_(i)are PID constants.

In this case, there are two control mechanisms working together to keepthe device actively balanced with zero wheel velocity. The closed loopdescribed by the equation above determines the equilibrium angle offsetΔΘ 317 and feeds it to the ACBM. The ACBM in turn calculates the newequilibrium angle to balance the device.

At position 309, after the AUBM is fully deployed, a torque 318 isapplied by the main motor to the pair of wheels 314 for providing a kickto unbalance the device and make it tip over towards the deployed AUBM.Torque 318 is proportional to an angle 319 between the two device bodypositions at 309 and 310. In this embodiment, torque 318 is applied fora constant time period. Torque 318 is determined by the followingequation:Torque=ΔΘ·T·K _(p) +T·K _(c)

wherein ΔΘ is the deviation from the actively balanced state, or theangle between the two device body positions in this embodiment, T is aconstant time period, K_(p) and K_(c) are two constants.

The kick is big enough to tip over the device body, which will then becaught by the deployed AUBM, or lifting arm 313 at position 310. Thedevice then proceeds towards a final resting position 312 through anintermediate position 311 as described in FIG. 3A.

FIG. 4A is a flowchart illustrating a process used in one embodiment totransition from the unbalanced state to the actively balanced state. Thedevice starts at the unbalanced state 401, with the AUBM stowed. Once itis determined that the device is to move into the actively balancedstate, the transition initiates. In a step 402, the AUBM is beingdeployed. The AUBM is deployed and stowed at a constant velocity in thisembodiment. In various embodiments, other schemes such as ejectionmechanisms and springy mechanisms are implemented to instantly deployand stow the AUBM. Next, in a step 403, when the device senses that AUBMdeployment is completed, it applies a torque to ACBM to kick the devicetowards the actively balanced state. Next, in a step 404, once thedevice is within the range of ACBM, ACBM takes over and starts toactively balance the device. In a step 405, AUBM is being stowed at aconstant velocity while the device is actively balanced by ACBM. Thedevice reaches the balanced state at 406, with the AUBM in stowage, thushaving completed the transition.

FIG. 4B shows a sequence of the positions of the balancing device duringthe process described by FIG. 4A. At position 407 the AUBM is stowed andthe ACBM is not active. The AUBM is deployed at position 408. After theAUBM is fully deployed, a torque 414 is applied by the main motor to theACBM for providing a kick towards the actively balanced state andlifting the device off the AUBM at position 409. Torque 414 isdetermined by the closed loop control mechanism described in FIG. 1.Torque 414 is determined by the following equation:Torque=−(ΔΘ·T·K _(p) +T·K _(c))

wherein ΔΘ is the deviation from the actively balanced state, or angle415, the difference between the initial equilibrium angle and the devicebody angle at position 409 in this embodiment, T is a constant timeperiod, K_(p) and K_(c) are two constants.

During the AUBM stowage at position 411, a torque 416 is applied to thelifting arm by a lift motor to achieve constant stowage velocity. Torque416 is determined in the same manner as torque 316 is and follows thesame equation likewise:Torque=(V _(p) ·K _(p))+(V _(d) ·K _(d))+(∫V _(p) ·K _(i))

During the AUBM stowage at position 411, the ACBM keeps the deviceactively balanced and the equilibrium angle is adjusted by an offset ΔΘ417 to achieve zero wheel velocity. ΔΘ 417 is determined by thefollowing equation:ΔΘ=(WV _(p) ·WK _(p))+(WV _(d) ·WK _(d))+(∫WV _(p) ·WK _(i))

FIG. 5A is a flowchart illustrating a process used in one embodiment bythe control mechanism to determine the torque applied to the ACBM foraiding the transition between the actively balanced state and theunbalanced state. In a step 501, a sensor measures the tilt angle of thedevice. Next, in a step 502, a processor determines the differencebetween the measured angle and the desired angle the device is trying toreach. Next, in a step 503, the processor uses PID control to decide theneeded torque. In a step 504, the torque is applied to the ACBM.

FIG. 5B is a flowchart illustrating a process used in one embodiment bythe control mechanism to determine the torque applied to the AUBM fordeploying and stowing the AUBM at a constant velocity. The velocity ofthe AUBM is measured in a step 505 and is compared to a desired velocityin a step 506. The torque is determined by PID control in a step 507 andis applied to the AUBM in a step 508.

FIG. 5C is a flowchart illustrating a process used in one embodiment bythe control mechanism to determine the torque applied to the wheels foractively balancing the device and achieving zero wheel velocity whendeploying and stowing the AUBM. Since the desired wheel velocity iszero, the measured wheel velocity from step 509 is used directly by PIDcontrol to determine the needed torque in a step 510. In a step 511, thetorque is applied to the wheels.

FIGS. 6A and 6B show another embodiment of the balancing device whereinone mechanism serves as both the auxiliary balancing mechanism and theactive balancing mechanism.

FIGS. 7A and 7B show another embodiment of the balancing device with adifferent auxiliary balancing mechanism. The steps are described in FIG.3A and FIG. 4A.

FIGS. 8A and 8B show another embodiment of the balancing device whereinthe auxiliary balancing mechanism is part of the device body.

FIGS. 9A and 9B show another embodiment of the balancing device whereinthe mechanical arm in FIG. 7 has a variable length.

FIGS. 10A and 10B show another embodiment of the balancing devicewherein the auxiliary balancing mechanism in FIG. 8 has a variablelength.

FIG. 11A and 11B show another embodiment of the balancing device whereinthe auxiliary balancing mechanism in FIG. 9 has a variable length.

A system and method for controlling the transition between an activelybalanced state and an unbalanced state has been described. Variousembodiments include an active balancing mechanism, an auxiliarybalancing mechanism, and a processor for closed loop controls. In oneembodiment, the active balancing mechanism comprises a pair of lateralwheels and the auxiliary balancing mechanism comprises a lifting arm. Inother embodiments, the active balancing mechanism comprises a weightedarm and the auxiliary balancing mechanism may comprise a spring. Variousclosed loop control mechanisms implemented with a processor forcontrolling the transition have been described. In one embodimentproportional, derivative and integral control is used for the controlmechanisms.

Although the foregoing embodiments have been described in some detailfor purposes of clarity of understanding, the invention is not limitedto the details provided. There are many alternative ways of implementingthe invention. The disclosed embodiments are illustrative and notrestrictive.

1. A balancing device including: an active balancing mechanism whereinthe active balancing mechanism maintains the balancing device in anactively balanced state within a range of the active balancingmechanism; an auxiliary balancing mechanism wherein the auxiliarybalancing mechanism is configured to support the balancing device in anunbalanced state that is outside the range of the active balancingmechanism and aid a transition of the balancing device to the activelybalanced state that is within the range of the active balancingmechanism; a processor configured to actively control the transitionfrom the unbalanced state to the actively balanced state.
 2. A balancingdevice as recited in claim 1, wherein the auxiliary balancing mechanismsupports the balancing device and aids the transition by providing animpulse that transitions the balancing device from the unbalanced state.3. A balancing device as recited in claim 1, wherein the processordetermines a torque to be applied to the active balancing mechanism foraiding the transition from the unbalanced state to the actively balancedstate.
 4. A balancing device as recited in claim 1, wherein theprocessor determines a torque to be applied to the active balancingmechanism for aiding the transition from the unbalanced state to theactively balanced state and the torque is proportional to the deviationfrom the actively balanced state.
 5. A balancing device as recited inclaim 1, wherein the processor determines a torque to be applied to theactive balancing mechanism for aiding the transition from the unbalancedstate to the actively balanced state and the torque is determined by thefollowing equation:Torque=ΔΘ·T·K _(p) +T·K _(c) wherein ΔΘ is the deviation from theactively balanced state, T is a constant time period, K_(p) and K_(c)are two constants.
 6. A balancing device as recited in claim 1, whereinthe processor determines a torque to be applied to the active balancingmechanism for aiding the transition from the actively balanced state tothe unbalanced state.
 7. A balancing device as recited in claim 1,wherein the processor determines a torque to be applied to the activebalancing mechanism for aiding the transition from the actively balancedstate to the unbalanced state and the torque is proportional to thedeviation from the actively balanced state.
 8. A balancing device asrecited in claim 1, wherein the processor determines a torque to beapplied to the active balancing mechanism for aiding the transition fromthe actively balanced state to the unbalanced state and the torque isdetermined by the following equation:Torque=−(ΔΘ·T·K _(p) +T·K _(c)) wherein ΔΘ is the deviation from theunbalanced state; T is a constant time period; K_(p) and K_(c) areconstants.
 9. A balancing device as recited in claim 1, wherein theactive balancing mechanism includes a pair of lateral wheels driven by amotor in such a manner as to maintain balance.
 10. A balancing device asrecited in claim 1, wherein the active balancing mechanism includes amaneuverable weighted part that moves in such a manner as to maintainbalance.
 11. A balancing device as recited in claim 1, further includinga closed-loop control mechanism for deploying and stowing the auxiliarybalancing mechanism at a constant velocity.
 12. A balancing device asrecited in claim 1, further including a proportional, derivative, andintegral control mechanism for deploying and stowing the auxiliarybalancing mechanism at a constant velocity.
 13. A balancing device asrecited in claim 1, further including a control mechanism that applies atorque to the auxiliary balancing mechanism for deploying and stowingthe auxiliary balancing mechanism at a constant velocity and the torqueis determined by the following equation:Torque=(V _(p) ·K _(p))+(V _(d) ·K _(d))+(∫V _(p) ·K _(i)) wherein V_(p)is the difference between the instant deploying or stowing velocity andthe desired deploying or stowing velocity; V_(d) is the derivative ofV_(p); ∫V_(p) is the integral of V_(p); K_(p), K_(d) and K_(i) areproportional, derivative, and integral constants.
 14. A balancing deviceas recited in claim 13, wherein the torque is determined and applied inconstant time intervals.
 15. A balancing device as recited in claim 1,further including a control mechanism for keeping the device in balanceduring deployment or stowage of the auxiliary balancing mechanism.
 16. Abalancing device as recited in claim 1, wherein the active balancingmechanism includes a pair of lateral wheels driven by a motor whichkeeps the device actively balanced and keeps the wheels from movingduring deployment or stowage of the auxiliary balancing mechanism.
 17. Abalancing device as recited in claim 1, wherein the active balancingmechanism includes a pair of lateral wheels driven by a motor whichkeeps the device actively balanced and keeps the wheels from movingduring deployment or stowage of the auxiliary balancing mechanism byusing proportional, derivative, and integral control.
 18. A balancingdevice as recited in claim 1, wherein a control loop determines anequilibrium angle offset caused by a change in the device's weightdistribution, and feeds the offset to the active balancing mechanism forbalancing the device to a new equilibrium angle.
 19. A balancing deviceas recited in claim 1, wherein the active balancing mechanism includes apair of lateral wheels driven by a motor which keeps the device activelybalanced and keeps the wheels from moving during deployment or stowageof the auxiliary balancing mechanism by adjusting an equilibrium angleoffset determined by the following equation:ΔΘ=(WV _(p) ·WK _(p))+(WV _(d) ·WK _(d))+(∫WV _(p) ·WK _(i)) whereinWV_(p) is the instant wheel velocity; WV_(d) is the derivative ofWV_(p); ∫WV_(p) is the integral of WV_(p); WK_(p), WK_(d) and WK_(i) areproportional, derivative, and integral constants.
 20. A balancing deviceas recited in claim 19, wherein the torque is determined and applied inconstant time intervals.
 21. A balancing device as recited in claim 1,wherein the auxiliary balancing mechanism includes a lifting arm.
 22. Abalancing device as recited in claim 1, wherein a body shape of thedevice helps roll the device to a position ready to be supported by theauxiliary balancing mechanism in the unbalanced state regardless of itsinitial position in the unbalanced state.
 23. A method of balancing adevice including: transitioning the balancing device from an unbalancedstate to an actively balanced state using an auxiliary balancingmechanism wherein the auxiliary balancing mechanism is configured tosupport the balancing device in an unbalanced state that is outside arange of an active balancing mechanism and aid a transition to theactively balanced state that is within the range of the active balancingmechanism; controlling the transition from the unbalanced state to theactively balanced state; actively balancing the device using the activebalancing mechanism wherein the active balancing mechanism maintains thebalancing device in the actively balanced state within the range of theactive balancing mechanism.
 24. A method of balancing as recited inclaim 23, further including applying a torque to the active balancingmechanism for aiding the transition from the unbalanced state to theactively balanced state.
 25. A method of balancing as recited in claim23, further including applying a torque to the active balancingmechanism for aiding the transition from the unbalanced state to theactively balanced state and determining the torque using proportional,derivative, and integral control.
 26. A method of balancing as recitedin claim 23, further including applying a torque to the auxiliarybalancing mechanism for deploying or stowing the auxiliary balancingmechanism at a constant velocity.
 27. A method of balancing as recitedin claim 23, further including applying a torque to the auxiliarybalancing mechanism for deploying or stowing the auxiliary balancingmechanism at a constant velocity using proportional, derivative, andintegral control.
 28. A method of balancing as recited in claim 23,further including using wheels to actively balance the device, andmaintaining zero wheel velocity during deployment or stowage of theauxiliary balancing mechanism.
 29. A method of balancing as recited inclaim 23, further including using a closed loop control mechanism todetermine an equilibrium angle offset to be used by the active balancingmechanism when weight distribution changes occur.